package classificator.data;

/**Estende la classe Attribute e rappresenta un attributo discreto
 * 
 * @author 467644
 */
public class DiscreteAttribute extends Attribute{
    //Array di oggetti String, uno per ciascun valore discreto che l'attributo può assumere.
    private String values[]; 

    /**Invoca il costruttore della super-classe e avvalora l'array values[] con i valori discreti in input. 
     * 
     * @param name nome simbolico dell'attributo
     * @param index identificativo numerico dell'attributo 
     * @param values valori discreti
     */
    DiscreteAttribute(String name, int index, String[] values) {
        super(name, index);
        this.values = values;
    }
    
    /**Restituisce la cardinalità dell'array dei valori discreti
     * 
     * @return numero di valori discreti dell'attributo
     */
    public int getNumberOfDistinctValues(){
        return values.length;
    }
    
    /**Restituisce il valore dell'elemento i dell'array values[]
     * 
     * @param i indice di un solo valore discreto rispetto all'array values[] 
     * @return valore discreto con indice il parametro di input
     */
    public String getValue(int i){
        return values[i];
    }         
}